Adaptive Co-Allocation of Distributed Resources for Parallel Applications
نویسندگان
چکیده
Parallel applications can speed up their execution by accessing resources hosted by multiple autonomous providers. Applications following the message passing model demand processors to be available at the same time; a problem known as resource coallocation. Other application models, such as workflows and bag-of-tasks (BoT), can also benefit from the coordinated allocation of resources from autonomous providers. Applications waiting for resources require constant rescheduling. However, different from single-provider settings, rescheduling across multiple providers is challenging due to the autonomy and information availability participants are willing to disclose. This thesis contributes to the area of distributed systems by proposing adaptive resource co-allocation policies for message passing and BoT applications, which aim at reducing user response time and increasing system utilisation. For message passing applications, the co-allocation policies rely on start time shifting and process remapping operations, whereas for BoT applications, the policies consider limited information access from providers and coordinated rescheduling. This thesis also shows practical deployment of the co-allocation policies in a real distributed computing environment. The four major findings of this thesis are: 1. Adaptive co-allocation for message passing applications is necessary since singlecluster applications may not fill all scheduling queue fragments generated by inaccurate run time estimates. It also allows applications to be rescheduled to a single cluster, thus eliminating inter-cluster network overhead; 2. Metaschedulers using system-generated run time estimates can reschedule applications to faster or slower resources without forcing users to overestimate execution times. Overestimations have a negative effect when scheduling parallel applications in multiple providers; 3. It is possible to keep information from providers private, such as local load and total computing power, when co-allocating resources for deadline-constrained BoT applications. Resource providers can use execution offers to advertise their interest in executing an entire BoT or only part of it without revealing private information, which is important for companies to protect their business strategies; 4. Tasks of the same BoT can be spread over time due to inaccurate run time estimates and environment heterogeneity. Coordinated rescheduling of these tasks can reduce response time for users accessing single and multiple providers. Moreover, accurate run time estimates assist metaschedulers to better distribute tasks of BoT applications on multiple providers. This is to certify that (i) the thesis comprises only my original work, (ii) due acknowledgement has been made in the text to all other material used, (iii) the thesis is less than 100,000 words in length, exclusive of table, maps, bibliographies, appendices and footnotes.
منابع مشابه
Static Task Allocation in Distributed Systems Using Parallel Genetic Algorithm
Over the past two decades, PC speeds have increased from a few instructions per second to several million instructions per second. The tremendous speed of today's networks as well as the increasing need for high-performance systems has made researchers interested in parallel and distributed computing. The rapid growth of distributed systems has led to a variety of problems. Task allocation is a...
متن کاملA Performance Characterization of Load Balancing Algorithms for Parallel SAMR Applications
We perform a comprehensive performance characterization of load balancing algorithms for parallel structured adaptive mesh refinement (SAMR) applications. Using SAMR, computational resources are dynamically concentrated to areas in need of a high accuracy. Because of the dynamic resource allocation, the workload must repeatedly be partitioned and distributed over the processors. For an efficien...
متن کاملUse of run time predictions for automatic co-allocation of multi-cluster resources for iterative parallel applications
Metaschedulers co-allocate resources by requesting a fixed number of processors and usage time for each cluster. These static requests, defined by users, limit the initial scheduling and prevent rescheduling of applications to other resource sets. It is also difficult for users to estimate application execution times, especially on heterogeneous environments. To overcome these problems, metasch...
متن کاملAdaptive resource allocation for embedded parallel applications
Parallel and distributed computer architectures are increasingly being considered for application in a wide variety of computationally intensive embedded systems. Many such applications impose highly dynamic demands for resources (processors, memory, and communication network), because their computations are data-dependent, or because the applications must constantly interact with a rapidly cha...
متن کاملDistributed Parallel Resource Co-Allocation with Load Balancing in Grid Computing
Resource Co-allocation is one of the crucial problems affecting the performance of the grid. In addition to this if the system load in each of nodes is nearly equal; it indicates good resource allocation and utilization. It is well known that load balancing is a key factor in developing parallel and distributed applications. Instead of balancing the load in grid by process migration, or by movi...
متن کامل